/**
 * 服务说明弹窗
 */

import React from 'react';
import { Dialog } from '@teamix/ui';
import './index.scss';
import intl from '../../../../../../../../../../../locale';

export default class ProjectModal extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      isModalOpen: false,
    };
  }

  static getDerivedStateFromProps(props) {
    if (props.trigger) {
      return {};
    }
    return {
      isModalOpen: props.isModalOpen,
    };
  }

  showModal = () => {
    this.setState({
      isModalOpen: true,
    });
  };

  onClose = () => {
    this.setState({
      isModalOpen: false,
    });
  };

  render() {
    return (
      <React.Fragment>
        {this.state.isModalOpen ? (
          <Dialog
            title={
              <div className="guarantee-title">
                {intl.get({
                  id: 'code-assets.sensitiveBehaviorMonitor.serviceTipsModal.SensitiveBehaviorMonitoringServiceDescription',
                  defaultMessage: '敏感行为监测服务说明',
                })}
              </div>
            }
            visible
            style={{ width: '600px' }}
            onCancel={this.onClose}
            onClose={this.onClose}
            footer={false}
          >
            <div className="guarantee-text">
              {intl.get({
                id: 'code-assets.sensitiveBehaviorMonitor.serviceTipsModal.YouUnderstandAndConfirmThat',
                defaultMessage:
                  '1、您理解并确认，基于您要求 Codeup 提供敏感行为监测服务的要求，您授权同意 Codeup 读取、加工（统称为“处理”） 您或您客户的操作行为数据，Codeup 将通过对前述数据的处理进而为您提供敏感行为监测服务。',
              })}
            </div>
            <div className="guarantee-text">
              {intl.get({
                id: 'code-assets.sensitiveBehaviorMonitor.serviceTipsModal.BothYouAndCodeupUnderstand',
                defaultMessage:
                  '2、您和 Codeup 均理解并确认，Codeup 除为执行您的服务指令进行如上处理和使用目的外，不做其他任何用途。',
              })}
            </div>
            <div className="guarantee-text">
              {intl.get({
                id: 'code-assets.sensitiveBehaviorMonitor.serviceTipsModal.YouUnderstandAndAgreeWith',
                defaultMessage:
                  '3、您理解并同意该用户服务说明，开启服务即授权同意 Codeup 将前述数据用于为您提供敏感行为监测服务，因此，请您理解并确认用户服务说明中的内容，并谨慎操作开启。',
              })}
            </div>
            <div className="guarantee-text">
              {intl.get({
                id: 'code-assets.sensitiveBehaviorMonitor.serviceTipsModal.IfYouNoLongerUse',
                defaultMessage:
                  '4、如果您不再继续使用敏感行为监测服务，请您通过点击【关闭服务】取消就 Codeup 对您前述数据进行处理的同意授权，Codeup 将自您取消授权同意之日起，不再继续处理您的操作行为数据，您亦不能继续使用 Codeup 敏感行为监测服务。',
              })}
            </div>
            <div className="guarantee-text">
              {intl.get({
                id: 'code-assets.sensitiveBehaviorMonitor.serviceTipsModal.YouFullyUnderstandAndAcknowledge',
                defaultMessage:
                  '5­、您充分知晓并认可，Codeup 尽勤勉义务向您提供服务，Codeup 所提供的技术服务和/或可交付成果物仅仅是当时情况下给出的技术建议，Codeup 的服务仅按照现有技术和条件所能达到的现状提供。',
              })}
            </div>
          </Dialog>
        ) : null}
        {!!this.props.trigger &&
          React.cloneElement(this.props.trigger, { onClick: this.showModal })}
      </React.Fragment>
    );
  }
}
